<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>10-var和let的区别.html</title>
</head>
<body>
<!--
  var 与  let 区别：
  1、var 定义变量，是ES5的语法
      作用域： 全局作用域、函数作用域； 定义的变量允许重名（极不推荐）
  2、let 定义变量，是ES6的语法
      作用域： 局部作用域;
      不允许变量提升（变量必须要先定义再使用）
      变量不允许重名
  重点:
     let  使用这个
     var  提升作用域 不好控制
-->
<script>
    var a = 10   // es5 版本
    var a = 20

    if (true){
        var name = "张无忌"
        let age = 20;
    }
    // var 会提升变量的作用域  let 不会 提升作用域
    console.log(name)
    console.log(age)

    let b = 10   // es6 版本
    // let b = 20
    console.log(b)

</script>

</body>
</html>